#ifndef SOLVER_H
#define SOLVER_H

#include <qobject.h>
#include <utility>
#include <qstring.h>
#include <qvector.h>
#include <graphdrawer.h>

const double maxr = 4.5, minr = 0.1, maxx = 0.999, minx = 0.001;

class solvergui : public QObject
{
    Q_OBJECT

    std::pair<double, double> * solutionConv_, * solutionBif_;
    size_t  mit_;
    unsigned long long countConv_, countBif_;
    double dx_, dr_;
    bool edited_, mode_;
    PlotSettings convS, bifS;
public slots:
    void change_dx(const QString &);
    void change_itcount(const QString &);
    void change_dr(const QString &);
    void solve();
    void change_mode(bool);
signals:
    void solved(std::pair<double, double> * solution, unsigned long long count, bool mode);
    void drawerSet(const PlotSettings &);
public:
    solvergui();
    ~solvergui();
};
#endif